package com.ilink.teacherservice.entity.DTO;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ilink.ilinkcommon.domain.PO.studyservice.StudyWebSourse;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import lombok.Data;

@Data
public class StudyCourseFileResponse implements Serializable {

    private static final long serialVersionUID = 1L;
    private Long courseFileId;
    private String name;
    private Long parentId;
    private String filePath;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createdAt;
    private Long childId;
    private String tag;
    private int level;
    private Long courseId;
    private Integer sortOrder;  // 文件夹的排序顺序
    private String courseImageUrl;//课程封面照片

    private Boolean ossWriteStatus;
    private Boolean transcriptionComplete;

    private Boolean ragCompleteStatus;
    private Boolean smartTextStatus;

    private Boolean transcriptionCompleteStatus;
    private Boolean handleCompleteStatus;
    private String web;

    // 如果需要嵌套显示子文件夹，可以使用这个字段
    private List<StudyCourseFileResponse> childFiles = new ArrayList<>();
    //该文件夹下所有资源（文档和音视频）
    private List<StudySourceFileResponse> sourceFiles = new ArrayList<>();
    //该文件夹下网页资源
    private List<StudyWebSourse> webSourses = new ArrayList<>();
}
